package com.example.aigc_education.service;

import com.example.aigc_education.domain.Question;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.aigc_education.domain.vo.QuestionAnalysisVO;

import java.util.List;

/**
* @author 23918
* @description 针对表【stu_question】的数据库操作Service
* @createDate 2024-06-06 14:06:30
*/
public interface QuestionService extends IService<Question> {

    /**
     * 生成试题
     * @param courseName 课程名称
     * @param studyCapacity 学生自身学习能力
     * @return true or false
     */
    boolean generateQuestion(String courseName, String studyCapacity);


    /**
     * 生成试题列表
     * @param grade 年级
     * @param textbook 教材
     * @param questionType 试题类型
     * @param questionNum 试题数量
     * @param difficulty 难度
     * @param unitName 单元名称
     * @param unitContent 单元内容
     * @param scene 情景
     * @return 成功生成的试题列表
     */
    List<Question> generateQuestionList(String textbook,
                                        String questionType,
                                        int questionNum,
                                        String difficulty,
                                        String unitName,
                                        String unitContent,
                                        String scene);

    /**
     * 获取试题分析
     * @param questionJson 错题json
     * @return 试题分析
     */
    QuestionAnalysisVO getQuestionAnalysis(String questionJson);

    List<Question> selectExamQuestionByExamId(Long examId);

    void addQuestion(Question question);

    void updateQuestion(Question question, Long questionId);

    void deleteQuestion(Long questionId);

    List<Question> selectQuestionList();
}
